home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / SimpleAttributeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  4.5 KB  |  177 lines

  1. package javax.swing.text;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.io.Serializable;
  7. import java.util.Enumeration;
  8. import java.util.Hashtable;
  9.  
  10. public class SimpleAttributeSet implements MutableAttributeSet, Serializable, Cloneable {
  11.    public static final AttributeSet EMPTY = new EmptyAttributeSet();
  12.    private transient Hashtable table = new Hashtable(3);
  13.  
  14.    public SimpleAttributeSet() {
  15.    }
  16.  
  17.    private SimpleAttributeSet(Hashtable var1) {
  18.       this.table = var1;
  19.    }
  20.  
  21.    public SimpleAttributeSet(AttributeSet var1) {
  22.       this.addAttributes(var1);
  23.    }
  24.  
  25.    public void addAttribute(Object var1, Object var2) {
  26.       this.table.put(var1, var2);
  27.    }
  28.  
  29.    public void addAttributes(AttributeSet var1) {
  30.       Enumeration var2 = var1.getAttributeNames();
  31.  
  32.       while(var2.hasMoreElements()) {
  33.          Object var3 = var2.nextElement();
  34.          this.addAttribute(var3, var1.getAttribute(var3));
  35.       }
  36.  
  37.    }
  38.  
  39.    public Object clone() {
  40.       SimpleAttributeSet var1;
  41.       try {
  42.          var1 = (SimpleAttributeSet)super.clone();
  43.          var1.table = (Hashtable)this.table.clone();
  44.       } catch (CloneNotSupportedException var2) {
  45.          var1 = null;
  46.       }
  47.  
  48.       return var1;
  49.    }
  50.  
  51.    public boolean containsAttribute(Object var1, Object var2) {
  52.       return var2.equals(this.getAttribute(var1));
  53.    }
  54.  
  55.    public boolean containsAttributes(AttributeSet var1) {
  56.       boolean var2 = true;
  57.  
  58.       Object var4;
  59.       for(Enumeration var3 = var1.getAttributeNames(); var2 && var3.hasMoreElements(); var2 = var1.getAttribute(var4).equals(this.getAttribute(var4))) {
  60.          var4 = var3.nextElement();
  61.       }
  62.  
  63.       return var2;
  64.    }
  65.  
  66.    public AttributeSet copyAttributes() {
  67.       return (AttributeSet)this.clone();
  68.    }
  69.  
  70.    public boolean equals(Object var1) {
  71.       if (this == var1) {
  72.          return true;
  73.       } else if (var1 instanceof AttributeSet) {
  74.          AttributeSet var2 = (AttributeSet)var1;
  75.          return this.isEqual(var2);
  76.       } else {
  77.          return false;
  78.       }
  79.    }
  80.  
  81.    public Object getAttribute(Object var1) {
  82.       Object var2 = this.table.get(var1);
  83.       if (var2 == null) {
  84.          AttributeSet var3 = this.getResolveParent();
  85.          if (var3 != null) {
  86.             var2 = var3.getAttribute(var1);
  87.          }
  88.       }
  89.  
  90.       return var2;
  91.    }
  92.  
  93.    public int getAttributeCount() {
  94.       return this.table.size();
  95.    }
  96.  
  97.    public Enumeration getAttributeNames() {
  98.       return this.table.keys();
  99.    }
  100.  
  101.    public AttributeSet getResolveParent() {
  102.       return (AttributeSet)this.table.get(StyleConstants.ResolveAttribute);
  103.    }
  104.  
  105.    public int hashCode() {
  106.       return this.table.hashCode();
  107.    }
  108.  
  109.    public boolean isDefined(Object var1) {
  110.       return this.table.containsKey(var1);
  111.    }
  112.  
  113.    public boolean isEmpty() {
  114.       return this.table.isEmpty();
  115.    }
  116.  
  117.    public boolean isEqual(AttributeSet var1) {
  118.       return this.getAttributeCount() == var1.getAttributeCount() && this.containsAttributes(var1);
  119.    }
  120.  
  121.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  122.       var1.defaultReadObject();
  123.       this.table = new Hashtable(3);
  124.       StyleContext.readAttributeSet(var1, this);
  125.    }
  126.  
  127.    public void removeAttribute(Object var1) {
  128.       this.table.remove(var1);
  129.    }
  130.  
  131.    public void removeAttributes(Enumeration var1) {
  132.       while(var1.hasMoreElements()) {
  133.          this.removeAttribute(var1.nextElement());
  134.       }
  135.  
  136.    }
  137.  
  138.    public void removeAttributes(AttributeSet var1) {
  139.       Enumeration var2 = var1.getAttributeNames();
  140.  
  141.       while(var2.hasMoreElements()) {
  142.          Object var3 = var2.nextElement();
  143.          Object var4 = var1.getAttribute(var3);
  144.          if (var4.equals(this.getAttribute(var3))) {
  145.             this.removeAttribute(var3);
  146.          }
  147.       }
  148.  
  149.    }
  150.  
  151.    public void setResolveParent(AttributeSet var1) {
  152.       this.addAttribute(StyleConstants.ResolveAttribute, var1);
  153.    }
  154.  
  155.    public String toString() {
  156.       String var1 = "";
  157.       Enumeration var2 = this.getAttributeNames();
  158.  
  159.       while(var2.hasMoreElements()) {
  160.          Object var3 = var2.nextElement();
  161.          Object var4 = this.getAttribute(var3);
  162.          if (var4 instanceof AttributeSet) {
  163.             var1 = var1 + var3 + "=**AttributeSet** ";
  164.          } else {
  165.             var1 = var1 + var3 + "=" + var4 + " ";
  166.          }
  167.       }
  168.  
  169.       return var1;
  170.    }
  171.  
  172.    private void writeObject(ObjectOutputStream var1) throws IOException {
  173.       var1.defaultWriteObject();
  174.       StyleContext.writeAttributeSet(var1, this);
  175.    }
  176. }
  177.